package cn.fl.prjsteprebate.transform;
import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.prjsteprebate.dto.PrjStepRebateFeeDetailDTO;
import cn.fl.prjsteprebate.vo.PrjStepRebateFeeDetailVO;

import java.util.ArrayList;
import java.util.List;


/**
 * @Description: 阶梯返利明细表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class PrjStepRebateFeeDetailVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto PrjStepRebateFeeDetailDTO
	 * @return PrjStepRebateFeeDetailVO
	 */
	public static PrjStepRebateFeeDetailVO toVO(PrjStepRebateFeeDetailDTO dto) {
		PrjStepRebateFeeDetailVO  vo = null;
		if (dto != null) { 
			vo = new PrjStepRebateFeeDetailVO();
			vo.setId(dto.getId());
			vo.setStepRebateId(dto.getStepRebateId());//阶梯返利主表id
			vo.setPaySchNo(dto.getPaySchNo());//支付表号
			vo.setPaySchId(dto.getPaySchId());//支付表id
			vo.setSplBackAmt(dto.getSplBackAmt());//供应商返利
			vo.setSalBackAmt(dto.getSalBackAmt());//销售返利
			vo.setGpsBackAmt(dto.getGpsBackAmt());//GPS返利
			vo.setStepRebateAmt(dto.getStepRebateAmt());//阶梯返利
			vo.setAfterTaxStepRebateAmt(dto.getAfterTaxStepRebateAmt());//税后阶梯返利
			vo.setLsDt(dto.getLsDt());//起租日
			vo.setBuOrgCd(dto.getBuOrgCd());//事业部类型
			vo.setBuOrgCdNm(dto.getBuOrgCdNm());//事业部类型
			vo.setPrjTypCd(dto.getPrjTypCd());//项目类型
			vo.setPrjTypCdNm(dto.getPrjTypCdNm());//项目类型
			vo.setInsCode(dto.getInsCode());//机构编码
			vo.setIsDel(dto.getIsDel());//是否删除;0:未删除;1:已删除
			vo.setIsValid(dto.getIsValid());//是否有效;0:无效;1:有效

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			vo.setApplyState(dto.getApplyState());//状态
			vo.setActPayTm(dto.getActPayTm()); // 阶梯返利放款时间
			vo.setActPayAmt(dto.getActPayAmt()); // 阶梯返利放款金额
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo PrjStepRebateFeeDetailVO
	 * @return PrjStepRebateFeeDetailDTO
	 */
	public static PrjStepRebateFeeDetailDTO toDTO(PrjStepRebateFeeDetailVO vo) {
		PrjStepRebateFeeDetailDTO dto = null;
		if (vo != null) {
			dto = new PrjStepRebateFeeDetailDTO();
			dto.setId(vo.getId());
			dto.setStepRebateId(vo.getStepRebateId());//阶梯返利主表id
			dto.setPaySchNo(vo.getPaySchNo());//支付表号
			dto.setPaySchId(vo.getPaySchId());//支付表id
			dto.setSplBackAmt(vo.getSplBackAmt());//供应商返利
			dto.setSalBackAmt(vo.getSalBackAmt());//销售返利
			dto.setGpsBackAmt(vo.getGpsBackAmt());//GPS返利
			dto.setStepRebateAmt(vo.getStepRebateAmt());//阶梯返利
			dto.setAfterTaxStepRebateAmt(vo.getAfterTaxStepRebateAmt());//税后阶梯返利
			dto.setLsDt(vo.getLsDt());//起租日
			dto.setBuOrgCd(vo.getBuOrgCd());//事业部类型
			dto.setBuOrgCdNm(vo.getBuOrgCdNm());//事业部类型
			dto.setPrjTypCd(vo.getPrjTypCd());//项目类型
			dto.setPrjTypCdNm(vo.getPrjTypCdNm());//项目类型
			dto.setInsCode(vo.getInsCode());//机构编码
			dto.setIsDel(vo.getIsDel());//是否删除;0:未删除;1:已删除
			dto.setIsValid(vo.getIsValid());//是否有效;0:无效;1:有效

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人

			dto.setApplyState(vo.getApplyState());//状态
			dto.setActPayTm(vo.getActPayTm()) ; // 阶梯返利放款时间
			dto.setActPayAmt(vo.getActPayAmt()) ; // 阶梯返利放款金额
		}
		return dto;
	}

	/**
	 * DTO集合 转 VO集合
	 * @param list<PrjStepRebateFeeDetailDTO>
	 * @return List<PrjStepRebateFeeDetailVO>
	 */
	public static List<PrjStepRebateFeeDetailVO> toVOList(List<PrjStepRebateFeeDetailDTO> list) {
		List<PrjStepRebateFeeDetailVO>  voList = new ArrayList<PrjStepRebateFeeDetailVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (PrjStepRebateFeeDetailDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}

	/**
	 * VO集合 转 DTO集合
	 * @param list List<PrjStepRebateFeeDetailVO>
	 * @return List<PrjStepRebateFeeDetailDTO>
	 */
	public static List<PrjStepRebateFeeDetailDTO> toDTOList(List<PrjStepRebateFeeDetailVO> list) {
		List<PrjStepRebateFeeDetailDTO>  dtoList = new ArrayList<PrjStepRebateFeeDetailDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (PrjStepRebateFeeDetailVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
